package com.niiwoo.civet.mobile.vo.response.myloan;

import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

@Getter
@Setter
@ApiModel
public class CurrMonthRefundPlanVO {
    /**
     * 标的ID
     */
    @ApiModelProperty(value = "标的ID", required = true)
    private Long projectId;

    /**
     * 还款日期
     */
    @ApiModelProperty(value = "还款日期", required = true)
    @JSONField(format = "yyyy-MM-dd")
    private Date refundDate;

    /**
     * 还款金额
     */
    @ApiModelProperty(value = "还款金额", required = true)
    private BigDecimal amount;

    /**
     * 距离还款日期天数,正数表示未到还款日期,负数表示逾期天数
     */
    @ApiModelProperty(value = "距离还款日期天数,正数表示未到还款日期,负数表示逾期天数", required = true)
    private Integer days;

    /**
     * 当前期数
     */
    @ApiModelProperty(value = "当前期数", required = true)
    private Integer currentPeriod;

    /**
     * 总期数
     */
    @ApiModelProperty(value = "总期数", required = true)
    private Integer totalPeriod;

    @ApiModelProperty(value = "借款详情-h5地址", required = true)
    private String webUrl;

    //@ApiModelProperty(value = "(new)理财端标识，0自有APP,1考拉理财", required = true)
    //private Byte financeFlag = 0;

    @ApiModelProperty(value = "(new)标的状态（1审核中、2筹款中、3还款中、4已结清、5流标 ）", required = true)
    private Byte status;

    @ApiModelProperty(value = "(new)标的子状态", required = true)
    private Integer subStatus;

    @ApiModelProperty(value = "(new)回购标识,0不回购，1回购", required = true)
    private Byte buyBackFlag = 0;


    /**
     * 标的投放渠道(app为默认渠道-你我金融   kaolalicai考拉理财  tuandai团贷)
     */
    @ApiModelProperty(value = "标的投放渠道(app为默认渠道-你我金融   kaolalicai考拉理财  tuandai团贷)",  required = true)
    private String channelCode;

    /**
     * 还款状态（1未还款，2已正常还款，3已逾期还款, 4提前结清还款）
     */
    @ApiModelProperty(value = "还款状态（1未还款，2已正常还款，3已逾期还款, 4提前结清还款）",  required = true)
    private Byte refundStatus;

    @ApiModelProperty(value = "还款动作状态（1可执行还款，2还款正在执行中）")
    private Byte canRefund;


    @ApiModelProperty("是否显示立即结清。0不显示，1显示。四种情况不显示。（1）只有一期的极速借借款标（2）还款严重逾期；（3）考拉理财还款日当天已经操作了立即还款，当天无法再操作提前结清；（4）考拉理财普通逾期和严重逾期状态时不能提前结清；")
    private Byte showEarlyClearance;

}

